#!/bin/bash

# 好爸爸100问 - 开发环境启动脚本

echo "🚀 启动好爸爸100问开发环境..."

# 检查Docker是否运行
if ! docker info > /dev/null 2>&1; then
    echo "❌ Docker未运行，请先启动Docker"
    exit 1
fi

# 检查必要的文件是否存在
if [ ! -f "docker/docker-compose.yml" ]; then
    echo "❌ 找不到docker-compose.yml文件"
    exit 1
fi

# 创建日志目录
mkdir -p logs

# 启动后端服务
echo "📦 启动后端服务..."
cd docker
docker-compose up -d mysql
echo "⏳ 等待MySQL启动..."
sleep 10

# 初始化数据库
echo "🗄️ 初始化数据库..."
docker-compose exec -T mysql mysql -u root -p123456 < ../database/schema.sql
docker-compose exec -T mysql mysql -u root -p123456 goodsdady < ../database/init_data.sql

# 启动后端API
docker-compose up -d backend
echo "✅ 后端服务启动完成"

# 启动前端管理后台
echo "🖥️ 启动前端管理后台..."
cd ../admin
if [ ! -d "node_modules" ]; then
    echo "📦 安装前端依赖..."
    npm install
fi

# 在后台启动前端开发服务器
npm run dev &
FRONTEND_PID=$!
echo "✅ 前端管理后台启动完成 (PID: $FRONTEND_PID)"

# 返回根目录
cd ..

echo ""
echo "🎉 开发环境启动完成！"
echo ""
echo "📱 服务地址："
echo "   - 后端API: http://localhost:5000"
echo "   - 前端管理: http://localhost:5173"
echo "   - MySQL数据库: localhost:3306"
echo ""
echo "📋 默认账号："
echo "   - 管理员: admin / admin123"
echo "   - 数据库: root / 123456"
echo ""
echo "🔧 常用命令："
echo "   - 查看日志: docker-compose logs -f"
echo "   - 停止服务: docker-compose down"
echo "   - 重启服务: docker-compose restart"
echo ""
echo "💡 提示："
echo "   - 首次启动可能需要几分钟时间"
echo "   - 如果遇到端口冲突，请检查端口占用情况"
echo "   - 前端开发服务器会自动热重载"
echo ""

# 等待用户输入
read -p "按回车键停止所有服务..."

# 清理
echo "🛑 停止服务..."
docker-compose down
kill $FRONTEND_PID 2>/dev/null
echo "✅ 所有服务已停止" 